import { WINDOW_TYPE } from "./_constants";

/**
 * 打开弹窗
 * @desc 根据弹窗类型、目标页面地址打开对应类型的弹窗页面。
 * @param {WINDOW_TYPE} type 弹窗类型
 * @param {String} url 目标页面访问地址
 * @param {*} opt
 */
export function ShowWindow(
  type,
  url,
  { draggbale = false, resize = false } = {}
) {
  return new Promise((resolve, reject) => {
    window.AC.ShowWindow(type, url, {
      draggbale,
      resize,
      callbackFn: ({ result }) => {
        if (result === 0) {
          resolve();
        } else {
          reject();
        }
      },
    });
  });
}

/**
 * 关闭弹窗
 * @param {WINDOW_TYPE} type 弹窗类型
 */
export function HideWindow(type) {
  return new Promise((resolve, reject) => {
    window.AC.HideWindow(type, {
      callbackFn: ({ result }) => {
        if (result === 0) {
          resolve();
        } else {
          reject();
        }
      },
    });
  });
}
